import java.util.*;
/**
 * @author LKQ
 * @date 2022/3/6 16:13
 * @description
 */
public class Solution2 {
    public static void main(String[] args) {

    }
    public String[] findRestaurant(String[] list1, String[] list2) {
        // map键存索引和，值存对应的String.
        Map<Integer, List<String>> map = new HashMap<>();
        for (int i = 0; i < list1.length; i++) {
            for (int j = 0; j < list2.length; j++) {
                if (list1[i].equals(list2[j])) {
                    if (!map.containsKey(i + j)) {
                        map.put(i + j, new ArrayList<>());
                    }
                    map.get(i + j).add(list1[i]);
                }
            }
        }
        // 找到最小的索引
        int min = Integer.MAX_VALUE;
        for (Integer i : map.keySet()) {
            if (i < min) {
                min = i;
            }
        }
        // 获取最小索引中存储的餐厅
        List<String > ans = new ArrayList<>();
        for (Integer i : map.keySet()) {
            if ( i == min) {
                ans = map.get(i);
                break;
            }
        }
        return ans.toArray(new String[] {});
    }
}
